// src/stores/token.js
import { defineStore } from 'pinia';
import { ref } from 'vue';

/* 
    第一个参数: 名字, 唯一性
    第二个参数: 函数, 函数的内部可以定义状态的所有内容

    返回值: 一个 store 对象
*/
export const useTokenStore = defineStore('token', () => {
    // 定义状态的内容

    // 1. 响应式变量
    const token = ref(''); // 存储 token 的响应式变量

    // 2. 定义一个函数, 修改 token 的值
    const setToken = (newToken) => {
        token.value = newToken; // 设置新 token
    };

    // 3. 函数, 移除 token 的值
    const removeToken = () => {
        token.value = ''; // 清空 token
    };

    return {
        token,
        setToken,
        removeToken,
    };
}, {
    persist: true // 开启持久化存储
});
